Logical Relations and Parametricity - A Reynolds Programme for Category Theory and Programming Languages
نویسندگان
چکیده
In his seminal paper on “Types, Abstraction and Parametric Polymorphism,” John Reynolds called for homomorphisms to be generalized from functions to relations. He reasoned that such a generalization would allow type-based “abstraction” (representation independence, information hiding, naturality or parametricity) to be captured in a mathematical theory, while accounting for higher-order types. However, after 30 years of research, we do not yet know fully how to do such a generalization. In this article, we explain the problems in doing so, summarize the work carried out so far, and call for a renewed attempt at addressing the problem.
منابع مشابه
Two-dimensional proof-relevant parametricity
Relational parametricity is a fundamental concept within theoretical computer science and the foundations of programming languages, introduced by John Reynolds [6]. His fundamental insight was that types can be interpreted not just as functors on the category of sets, but also as equality preserving functors on the category of relations. This gives rise to a model where polymorphic functions ar...
متن کاملParametricity as Isomorphism
We investigatea simple form of parametricity, based on adding \abstract" copies of pre-existing types. Connections are made with the Reynolds-Ma theory of parametricity by logical relations, with the theory of parametricity via dinaturality, and with the categorical notion of equivalence.
متن کاملA Fibrational Semantics for Logic Programs
We introduce a new semantics for logic programming languages. It generalises the traditional Herbrand universe semantics, and specialises the semantics of logical relations, as used in analysing parametricity in functional and imperative programming languages. We outline a typed logic programming language, give it this semantics, and show how it supports structured development of logic programs...
متن کاملFinal Report for EPSRC Grant EP/E016146/1 Relational Parametricity for Computational Effects
Polymorphism is a feature of many programming languages, including typed functional languages (e.g., SML, Haskell), and recent “generic” versions of Java. Relational parametricity, introduced by Reynolds in 1983, is a powerful principle for reasoning about polymorphic programs and types. Previously, relational parametricity has been mainly studied for the second-order lambda calculus, a simple,...
متن کاملRelational Parametricity for Higher Kinds
Reynolds’ notion of relational parametricity has been extremely influential and well studied for polymorphic programming languages and type theories based on System F. The extension of relational parametricity to higher kinded polymorphism, which allows quantification over type operators as well as types, has not received as much attention. We present a model of relational parametricity for Sys...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 303 شماره
صفحات -
تاریخ انتشار 2014